import { classicBeh } from '../classic-beh.js'
const mMgr=wx.getBackgroundAudioManager()
Component({
  behaviors: [classicBeh],
  // 属性定义（详情参见下文）
  properties: {
    // 简化的定义方式
    src:String,
    title:String
  },
  data: {
    palying:false,
    pauseSrc:'images/player@pause.png',
    playSrc:'images/player@play.png',
  }, // 私有数据，可用于模板渲染
  lifetimes: {
    // 生命周期函数，可以为函数，或一个在methods段中定义的方法名
    attached() {
      //console.log(this.data.playing)
      this._recoverStatus()
      this._monitorSwitch()
    },
    moved() { },
    detached() { 
      //mMgr.stop()
    },
  },
  // 生命周期函数，可以为函数，或一个在methods段中定义的方法名
  attached() { }, // 此处attached的声明会被lifetimes字段中的声明覆盖
  ready() { },
  pageLifetimes: {
    // 组件所在页面的生命周期函数
    show() { },
    hide() { },
    resize() { },
  },
  methods: {
    onPlay:function(e){
      let music = this.data.palying
      console.log(music)
      if (!music){
        this.setData({
          palying: true
        })
        mMgr.src = this.properties.src
        mMgr.title = this.properties.title
      }else{
        this.setData({
          palying: false
        })
        mMgr.pause()
      }
    },
    _recoverStatus(){
      if (mMgr.paused){
        this.setData({
          palying: false
        })
        return 
      }
      if (mMgr.src==this.properties.src){
        this.setData({
          palying: true
        })
      }
    },
    _monitorSwitch(){
      mMgr.onPlay(()=>{
        this._recoverStatus()
      })
      mMgr.onPause(() => {
        this._recoverStatus()
      })
      mMgr.onStop(() => {
        this._recoverStatus()
      })
      mMgr.onEnded(() => {
        this._recoverStatus()
      })
    }
  }
})
